Annotate the expression array as "nullable"
authorEmmanuele Bassi <ebassi@gnome.org>
Mon, 14 Sep 2020 16:00:23 +0000 (17:00 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Mon, 14 Sep 2020 16:00:23 +0000 (17:00 +0100)
While it's a bit dubious whether array+length annotations should be
marked as "nullable", we do this elsewhere in the API, so might as well
be consistent.

In practice, the array argument is only ever allowed to be NULL iff the
length argument is 0; annotations are static, so if somebody decides to
pass a NULL argument with a non-zero value, they will get a run time
critical error, instead of a compile time one, which is somewhat counter
to the point of annotating the API in the first place.

Fixes: #2923
gtk/gtkexpression.c

index 574274ea7e892a163c64baa240d9921f843c42f2..009c2da8c7ed28f5d438f2ed2b9ab42eee64f41c 100644 (file)
@@ -1577,7 +1577,7 @@ GTK_DEFINE_EXPRESSION_TYPE (GtkClosureExpression,
  * @value_type: the type of the value that this expression evaluates to
  * @closure: closure to call when evaluating this expression. If closure is floating, it is adopted
  * @n_params: the number of params needed for evaluating @closure
- * @params: (array length=n_params) (transfer full): expressions for each parameter
+ * @params: (nullable) (array length=n_params) (transfer full): expressions for each parameter
  *
  * Creates a GtkExpression that calls @closure when it is evaluated.
  * @closure is called with the @this object and the results of evaluating